// 全局自定义指令
import store from '@/store/index.js'
export default {
  imgError: {
    bind() {},
    inserted(dom, obj) {
      // 若是有自己的图片就用自己的图片 没有就用默认的
      dom.src = dom.src || obj.value

      //   监控dom出错的回调函数
      dom.onerror = () => {
        dom.src = obj.value
      }
    },
    componentUpdated(dom, obj) {
      // boj.value 是自定义指令后面穿的值
      // 若是有自己的图片就用自己的图片 没有就用默认的
      dom.src = dom.src || obj.value
    },
    unbind(dom) {
      dom.onerror = null
    }
  },
  // 点击其他区域关闭组件
  outClick: {
    inserted(dom, obj, vnode) {
      console.log(obj)
      vnode.fn = (e) => {
        if (!dom.contains(e.target)) {
          obj.value()
        }
      }
      document.addEventListener('click', vnode.fn)
    },
    unbind(dom, obj, vnode) {
      document.removeEventListener('click', vnode.fn)
    }
  },

  bottonShow: {
    inserted(dom, obj) {
      if (store.state.user.userInfo.roles.points.includes(obj.value)) {
        if (obj.arg === 'inlineBlock') {
          dom.style.display = 'inline-block'
        } else {
          dom.style.display = 'block'
        }
      } else {
        dom.style.display = 'none'
      }
    },
    componentUpdated(dom, obj) {
      if (store.state.user.userInfo.roles.points.includes(obj.value)) {
        if (obj.arg === 'inlineBlock') {
          dom.style.display = 'inline-block'
        } else {
          dom.style.display = 'block'
        }
      } else {
        dom.style.display = 'none'
      }
    }
  }
}
